jQuery(document)
		.ready(
				function() {
					test(
							"show the three test methods in action",
							3, learningTests.showTestMethods);
					test(
							"do things with multiple object instances",
							6, learningTests.testMultipleObjectInstances);

					test(
							"construct an object using a factory",
							1, learningTests.testObjectConstruction);

				});

var learningTests = {
	showTestMethods : function() {
		ok(true, "Test if true");
		equals(111, 111, "Test if they are equal");
		same("dog", "dog", "Test if two objects are equal (deep compare)");
	},
	
	testMultipleObjectInstances : function() {
		testObject1 = new TestObject("Test Object 1");
		testObject2 = new TestObject("Test Object 2");
		equals(testObject1, testObject2, "Test if two different objects of the same type are equal");
		equals(testObject1, testObject1, "Test if the same two objects are equal");
		same(testObject1, testObject2, "Test if two different objects of the same type are the same");
		same(testObject1, testObject1, "Test if the same two objects are the same");
		testObjectSameValue1 = new TestObject("Test Object");
		testObjectSameValue2 = new TestObject("Test Object");
		equals(testObjectSameValue1, testObjectSameValue2, "Test if two different objects with the equal properties are equal");
		same(testObjectSameValue1, testObjectSameValue2, "Test if two different objects with the equal properties are the same");
	},
	
	testObjectConstruction : function() {
		var testObjectConstruction1 = testObjectConstructionFactory("My Test Value");
		var testObjectConstruction2 = testObjectConstructionFactory("My Test Value 2");
		
		equals(testObjectConstruction1, testObjectConstruction2, "Test if two different objects of the same type are equal");
	}
	

};


var TestObject = function(testValue) {
	this.myValue = testValue;
};

var testObjectConstructionFactory = function(testValue) {
	var TestObjectConstruction = function(testValue)
	{
		this.myValue = testValue;
	};
	
	return new TestObjectConstruction(testValue);
};


